package org.piax.rospubsub;

import java.net.InetSocketAddress;

/**
 * DTN から ROS 側への Publish を仲立ちするクラス。
 */
public class SubscribeProxy implements ADBBridge.ADBBridgeCallback {
    private ADBBridge adbBridge = null;
    private InetSocketAddress rosMaster = null;

    /**
     * コンストラクタ
     * @param adb_bridge ADB forward を使った Android との通信路
     * @param ros_master ROSマスター接続先
     */
    public SubscribeProxy(ADBBridge adb_bridge, InetSocketAddress ros_master) {
        if (adb_bridge == null)
            throw new IllegalArgumentException("adb_bridge should not be null");
        if (ros_master == null)
            throw new IllegalArgumentException("ros_master should not be null");

        adbBridge = adb_bridge;
        rosMaster = ros_master;
    }

    public void start() {
    }

    public void stop() {
    }

    /**
     * DTN からメッセージを受け取ると呼び出される。
     */
    @Override
    public void callback(ADBBridge bridge, ADBBridgeMessage msg) {
        // TODO ROS master への接続処理
        System.out.println("SubscribeProxy callback : " + msg);
    }
}
